Computational Complexity Notes